For various use cases and scenarios, there is a wide spread need for application programs that are related to data input and data output. Typically, for related or identical use cases, such data entry and data output application programs are very similar with respect to their sequence of work and/or data flow, associated data content, and functional requirements. Nevertheless, despite the existing similarities and correspondence, these types of application programs are developed independently many times over, thereby, wasting time and resources. In some cases, generic tools, such as data spreadsheet programs have been used as the basis for implementing data entry and data output applications. However, with the increasing trend towards mobile computing, the performance of such generic approaches has been found less than satisfactory, largely because of the complexity and size of the underlying generic tools that have to be installed on the mobile computing/communication devices, despite the fact that only a very small subset of their functions and features are actually used. Again, it was considered more efficient to develop individual application programs which could be loaded as small apps onto the mobile devices. While the individual-app-based approach may be well suited for very specific functions and applications, it does not seem efficient for the aforementioned data input/output application programs which may differ from each other essentially only with respect to the involved transaction parties and associated data bases. The almost endless variety of different types, brands, makes, models, and respective hardware and software configurations of mobile devices bring further complications and complexities for developing, testing, deploying, and maintaining application programs that are related to data input and data output. Particularly, the great differences in size and resolution of the display screens of the mobile devices make it extremely difficult to ensure the correct presentation of textual and numeric data content across this diversity of mobile devices, with respect to location, size, visibility, and readability on the display screens.
U.S. Pat. No. 8,078,448 describes a system for automated testing where computing devices, such as mobile devices, may be emulated so that the physical devices are not needed for testing. The emulator may create the script for a device from a device profile that contains the characteristics of the computing device. An application may be tested on a device emulated from a device profile. To test the application, a user interacts with the emulated device as if the emulated device is the physical device. The application is viewed on the display of the emulated device. Display refresh rates for a device may vary between devices and between different device profiles.
US 2006/0277231 describes an integrated software development and porting system for wireless devices, e.g. cellular phones, which includes wireless device selector, a universal and concurrent emulator, a build and porting engine, a resource manager, and a provisioning server. The emulator can automatically emulate selected devices and automatically and concurrently test source code on the emulated devices. The build and porting engine provides the executable computer programs to the provisioning server, which provides the executable computer programs to respective wireless devices. The emulator also allows the emulated devices to receive simultaneously for testing one or more inputs, e.g. button presses or network data. The wireless devices have different attributes such as screen resolution, keyboard mapping, supported application programming interfaces, connectivity, image formats, audio formats, cameras, interface connections, and carriers. Emulated devices may have different attributes, e.g. different screen sizes, different layout of the keys, or different audio capabilities.
WO 2008/031070 describes a software development environment for platform-independent application programs that includes a target environment simulator which utilizes profiles to establish features for each target platform, e.g. CPU speed, I/O characteristics, or interface/interconnections, such that each target platform emulates the behavior of a particular computing device, e.g. a mobile device, as defined by the profiles. An application may be tested on multiple emulated devices simultaneously, with the emulated output originating from the executing application being displayed for each device on a single screen. Application settings may be related to a display window that simulates the display of a specified real mobile phone, where outputs generated by a running game are displayed. An area of the display window that provides graphic output is scaled to match the display size of the mobile phone being simulated. An application may be implemented using script objects and re-useable software modules stored in an object library. The software modules may be platform-independent and deployable across different target platforms having different architectures and operating systems. An archiver saves an archive of one or more applications of different versions that have been built using the development environment.
While the prior art systems assist developers in defining and testing applications through emulation of the applications for different hardware platforms, they do not address the issues of presenting textual and numeric data correctly across a variety of mobile devices.